package org.example.wumeng.mapper;

import org.apache.ibatis.annotations.*;
import org.example.wumeng.pojo.Doctor;

import java.util.List;
import java.util.Map;

@Mapper
public interface T_doctorMapper {

    /**
     * 分页查询医家列表
     */
    List<Doctor> selectWithCondition(@Param("name") String name,
                                     @Param("speciality") String speciality,
                                     @Param("offset") int offset,
                                     @Param("size") int size);

    /**
     * 统计查询条件下的总数
     */
    Long countWithCondition(@Param("name") String name, @Param("speciality") String speciality);

    /**
     * 根据ID查询医家
     */
    Doctor selectById(Long id);

    /**
     * 插入医家
     */
    int insert(Doctor doctor);

    /**
     * 更新医家
     */
    int updateById(Doctor doctor);

    /**
     * 删除医家
     */
    int deleteById(Long id);

    List<Doctor> selectBySpeciality(@Param("speciality") String speciality,
                                    @Param("offset") int offset,
                                    @Param("size") int size);

    // 统计专长分类数量
    int countBySpeciality(@Param("speciality") String speciality);

    // 获取所有专长分类及统计
    List<Map<String, Object>> getSpecialityStatistics();
}
